namespace Communication
{
    /// <summary>
    /// Contains the memory location of a saved message.
    /// </summary>
    public class MemoryLocation : IMessageIndicationObject
    {
        /// <summary>
        /// Initializes a new instance of the class.
        /// </summary>
        /// <param name="storage">The storage where the message is saved.</param>
        /// <param name="index">The message index within the specified storage.</param>
        public MemoryLocation(string storage, int index)
        {
            Storage = storage;
            Index = index;
        }

        /// <summary>
        /// Gets the message index within the specified MemoryLocation.Storage.
        /// </summary>
        public int Index { get; private set; }

        /// <summary>
        /// Gets the storage where the message is saved.
        /// </summary>
        public string Storage { get; private set; }
    }
}